package com.classs05.a_exception;

//1.如果父类中的方法抛了异常,那么子类重写之后要不要抛?
//  可抛可不抛
//2.如果父类中的方法没有抛异常,那么子类重写之后要不要抛?
//  不要抛
public class Demo10Exception {
    public static void main(String[] args) throws Exception {
        B b = new Demo10Exception().new B();
        b.method();
        new Demo10Exception().new D().test();

    }

    class A {
        public void method() throws Exception {
            System.out.println("父类输出");
        }
    }

    class B extends A {
        @Override
        public void method() /*throws Exception*/ {
            System.out.println("子类输出");
        }
    }


    class C {
        public void test() {
            System.out.println("C父类方法输出");
        }
    }

    class D extends C {
        public void test() {
            System.out.println("D子类方法输出");
//            方式一：处理异常
            int i = 10 / 0;
            System.out.println(i);
//            方式二处理异常：
//            try {
//                int i = 10 / 0;
//                System.out.println(i);
//            } catch (Exception e) {
//                e.printStackTrace();
//            }

        }
    }
}
